Add DisableAllFieldObjects functionality across decorators#292
Merged
scottolsonjr merged 5 commits intomainfrom Feb 14, 2026
Merged
Add DisableAllFieldObjects functionality across decorators#292scottolsonjr merged 5 commits intomainfrom
scottolsonjr merged 5 commits intomainfrom
Conversation
Contributor
scottolsonjr
commented
Feb 14, 2026
- Implemented DisableAllFieldObjects method in RowObjectDecorator, OptionObjectDecorator, OptionObject2Decorator, and OptionObject2015Decorator to disable all FieldObjects.
- Added overloads to allow exclusion of specific FieldNumbers during the disabling process.
- Updated corresponding helper classes to support the new functionality.
- Enhanced unit tests to cover various scenarios for disabling field objects, including null checks and exclusion lists.
- Adjusted exception handling to throw ArgumentException for missing forms instead of ArgumentNullException.
- Implemented DisableAllFieldObjects method in RowObjectDecorator, OptionObjectDecorator, OptionObject2Decorator, and OptionObject2015Decorator to disable all FieldObjects. - Added overloads to allow exclusion of specific FieldNumbers during the disabling process. - Updated corresponding helper classes to support the new functionality. - Enhanced unit tests to cover various scenarios for disabling field objects, including null checks and exclusion lists. - Adjusted exception handling to throw ArgumentException for missing forms instead of ArgumentNullException.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a DisableAllFieldObjects capability across the “Net” decorator layer (Row/Form/Option variants) and aligns legacy helper behavior + tests, enabling consumers to disable all field objects while optionally excluding specific FieldNumbers.
Changes:
- Added
DisableAllFieldObjects()andDisableAllFieldObjects(List<string> excludedFields)APIs to Row/Form/Option decorators (OptionObject, OptionObject2, OptionObject2015) and corresponding helpers. - Updated legacy
OptionObjectHelpers.DisableAllFieldObjectsto throwArgumentExceptionwhen forms are missing (instead ofArgumentNullException) and adjusted tests accordingly. - Expanded unit test coverage in
RarelySimple.AvatarScriptLink.Net.Testsand legacy tests for disable/exclusion scenarios.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| dotnet/RarelySimple.AvatarScriptLink/Helpers/OptionObject/DisableAllFieldObjects.cs | Adjusts missing-forms exception type for legacy helper API. |
| dotnet/RarelySimple.AvatarScriptLink.Tests/Helpers/OptionObject/DisableAllFieldObjectsTests.cs | Updates expected exception type for missing-forms case. |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/RowObjectDecoratorHelper.cs | Implements row-level field disabling with optional exclusions. |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/RowObjectDecorator.cs | Exposes row-level disable APIs on the decorator. |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/FormObjectDecoratorHelper.cs | Implements form-level disable across current/other rows. |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/FormObjectDecorator.cs | Exposes form-level disable APIs on the decorator. |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObjectDecoratorHelper.cs | Implements option-level disable across all forms (OptionObject). |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObjectDecorator.cs | Exposes option-level disable APIs (OptionObject). |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2DecoratorHelper.cs | Implements option-level disable across all forms (OptionObject2). |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2Decorator.cs | Exposes option-level disable APIs (OptionObject2). |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2015DecoratorHelper.cs | Implements option-level disable across all forms (OptionObject2015). |
| dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2015Decorator.cs | Exposes option-level disable APIs (OptionObject2015). |
| dotnet/RarelySimple.AvatarScriptLink.Net.Tests/Decorators/OptionObjectDecoratorTests.cs | Adds tests for disabling behavior and exclusion list handling (OptionObject). |
| dotnet/RarelySimple.AvatarScriptLink.Net.Tests/Decorators/OptionObject2DecoratorTests.cs | Adds tests for disabling behavior and exclusion list handling (OptionObject2). |
| dotnet/RarelySimple.AvatarScriptLink.Net.Tests/Decorators/OptionObject2015DecoratorTests.cs | Adds tests for disabling behavior and exclusion list handling (OptionObject2015). |
…payload inclusion
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


